package cn.jiahua.hospital.service;

import cn.jiahua.hospital.dto.*;
import cn.jiahua.hospital.pojo.Doctor;

import java.util.List;
import java.util.Map;

import cn.jiahua.hospital.pojo.Hospital;
import org.apache.ibatis.annotations.Param;

/**
 * Created by shang-pc on 2015/11/7.
 */
public interface DoctorService {


    public Doctor getDoctorById(Integer id);

    public DoctorDto getDoctor(Integer id);

    public List<Doctor> getDoctorListByMap(Map<String, Object> param);

    public List<DoctorDto> searchDocotr(Map<String, Object> param);

    public List<Hospital> searchHospital(Map<String, Object> param);

    public List<TdepartmentsDto> searchTdepartments(Map<String, Object> param);

    public Integer getDoctorCountByMap(Map<String, Object> param);

    public Integer qdtxAddDoctor(DoctorDto doctor);

    public String exist(String exist);

    public Integer qdtxModifyDoctor(Doctor doctor);

    public Integer updateDoctor_pic(DoctorDto doctorDto);

    public Integer qdtxDeleteDoctorById(Integer id);

    public Integer qdtxBatchDeleteDoctor(String ids);

    public Page<Doctor> queryDoctorPageByMap(Map<String, Object> param, Integer pageNo, Integer pageSize);

    public List<DoctorDto> getDoctorList(Map<String, Object> param);

    public Integer getDoctorCount(Map<String, Object> param);

    public List<DoctorDto> getDoctorList1(Map<String, Object> param);

    public Integer getDoctorCount1(Map<String, Object> param);

    public Integer updateForbidden(Integer id, Integer state) throws DoctorExtion;

    public Page<Doctor> getDoctorListlimit(Map<String, Object> param, Integer page, Integer Size) throws Exception;

    public List<Doctor> doctorSubscribeData(@Param(value = "pageNo")Integer pageNo,
                                            @Param(value = "pageSize")Integer pageSize);

    public List<PageDoctorDto> getDoctorPageInfo(Integer doctorId,Integer hospitalId,Integer tdepartmentsId)throws Exception;

    public List<DoctorDto> gettDepartmentsDoctor(Integer dieseaseId,Integer hospitalId,Integer doctorId)throws Exception;

    public List<Integer> getDoctorByCondition(Integer hospitalId,String name)throws Exception;

}
